<?php

@include_once("common.php");
// 接收参数之前 判断是否存在该字段 不存在=>报错,阻止脚本继续向后执行
if(!(isset($_GET["key"])&&isset($_GET["field"])&&isset($_GET["ordertype"])&&isset($_GET["page"])&&isset($_GET["shownum"]))){//没有id字段?
    paramerr();
}
$key=$_GET["key"];
$field=$_GET["field"];//排序的列名(id,chinese,math,english,total)
$ordertype=$_GET["ordertype"];//排序的方式(asc desc)
$page=$_GET["page"];   //页码()
$shownum=$_GET["shownum"];//每页显示多少条


@include_once("02conn.php");//引入02conn.php(链接mysql)

@header("Content-Type:text/json;charset-utf-8");//兼容低版本
  
    // 第几页(前端接收)=>每页显示5条(前端接收)
    // $page=>($page-1)*$shownum

    // 问题1:由于数据库中数据的数量有限 $page=>可能超出临界值(小于最小值1  大于最大值)
    // 问题2:
    // 如何获取数据的总数量?  满足条件的数据的总数量($count)=>查询

    $k1="select count(*) as count from `goodslist` where goodsName like '%$key%'";
    $resultall=mysqli_query($conn,$k1);
    $obj=array();
    if($resultall){
        $item=mysqli_fetch_assoc($resultall);
        $count= $item["count"];
        // echo $count;
        $maxpage=ceil($count/$shownum);
        // echo $maxpage;
        //  大于最大值:满足条件的数据的总数量($count)/每页显示多少条($shownum)=>向上取整=>$maxpage
        if($page>$maxpage){
            $page=$maxpage;
        }

        // 小于最小值:1
        if($page<1){
            $page=1;
        }

        $skipnum=($page-1)*$shownum;



        $k="select id,goodsId, goodsName, goodsImg, goodsPrice from `goodslist` where goodsName like '%$key%' order by $field $ordertype limit $skipnum,$shownum";
        $result=mysqli_query($conn,$k);

        if($result){//判断查询的结果

            $list=array();
            for($i=0;$i<$result->num_rows;$i++){
                $item=mysqli_fetch_assoc($result);
                $item["goodsPrice"]= $item["goodsPrice"]*1;
                array_push($list,$item);
            }
            if(count($list)){
                $obj["status"]=true;
                $obj["msg"]="success";
                $obj["count"]=$count*1;
                $obj["maxpage"]=$maxpage;
                $obj["currentpage"]=$page;//当前页(如果页码超出最大页=>显示正确的页码)
                $obj["sql"]=$list;
            }
            else{
                $obj["status"]=false;
                $obj["msg"]="暂无数据";
            }

        }else{
            $obj["status"]=false;
            $obj["msg"]="sql语句有误";
            $obj["sql"]=$k;
        }
    }else{
        $obj["status"]=false;
        $obj["msg"]="sql语句有误";
        $obj["sql"]=$k;
    }

   
    echo json_encode($obj);

?>